1. Statement of the Technical Field
The present invention relates to the field of distributed computing, and more particularly to Web services.
2. Description of the Related Art
Web services represent the leading edge of distributed computing and are viewed as the foundation for developing a truly universal model for supporting the rapid development of component-based applications over the World Wide Web. Web services are known in the art to include a stack of emerging standards that describe a service-oriented, component-based application architecture. Specifically, Web services are loosely coupled, reusable software components that semantically encapsulate discrete functionality and are distributed and programmatically accessible over standard Internet protocols.
Conceptually, Web services represent a model in which discrete tasks within processes are distributed widely throughout a value net. Notably, many industry experts consider the service-oriented Web services initiative to be the next evolutionary phase of the Internet. Typically, Web services can be defined by an interface such as the Web services definition language (WSDL), and can be implemented according to the interface, though the implementation details matter little so long as the implementation conforms to the Web services interface. Once a Web service has been implemented according to a corresponding interface, the implementation can be registered with a Web services registry, such as Universal Description, Discover and Integration (UDDI), as is well known in the art. Upon registration, the Web service can be accessed by a service requestor through the use of any supporting messaging protocol, including for example, the simple object access protocol (SOAP).
In a service-oriented application environment supporting Web services, locating reliable services and integrating those reliable services dynamically in real-time to meet the objectives of an application has proven problematic. While registries, directories and discovery protocols provide a base structure for implementing service detection and service-to-service interconnection logic, registries, directories, and discovery protocols alone are not suitable for distributed interoperability. Rather, a more structured, formalized mechanism can be necessary to facilitate the distribution of Web services in the formation of a unified application.
The rapid growth and adaptation of Web services has introduced new problems which, if not resolved, may render the Web services paradigm impractical and unusable. Specifically, the vision of Web services includes a dynamic electronic marketplace where new Web services can be added dynamically, while other Web services can be removed dynamically. Still, it will be recognized by the skilled artisan that the specific services required by an end user will not always be known a priori. To that end, the electronic marketplace must be able to adapt to the needs of the end user by tailoring marketplace Web services in accordance with dynamically identifiable requirements. In such an environment, the ability to construct and compose new Web services from existing Web services can be essential in order to deliver practical and usable composite services to the end user.
Present approaches to the registration of Web services rely upon UDDI as the sole mechanism. With UDDI, services are described via a service code which remains too general and inadequate for selecting an appropriate service in response to the dynamically specified requirements of service consumers. UDDI further does not allow service providers and service consumers to register services which can be activated and accessed only in selective circumstances. Finally, UDDI remains deficient in that services cannot be grouped together and composed in a manner so as to produce tailored services which may be dynamically requested by service consumers.